import java.util.ArrayList;
import java.util.List;

// 执行器（负责组装链条和执行）
public class ChainExecutor {
    // 存储当前链条的所有处理器
    private List<Handler> handlers = new ArrayList<>();
    
    // 添加处理器（组装链条）
    public ChainExecutor addHandler(Handler handler) {
        handlers.add(handler);
        return this;
    }
    
    // 执行链条
    public void execute(String request) {
        for (Handler handler : handlers) {
            // 如果处理器处理后返回false，说明已完成，不用继续
            if (!handler.process(request)) {
                break;
            }
        }
    }
}
